$font-sizes-desktop: (
	"sm": 0.75rem,
	"base": 1rem,
	"lg": 1.125rem,
	"xl": 1.41rem,
	"2xl": 1.6rem,
	"3xl": 2rem
);

$font-sizes-mobile: (
	"sm": 0.75rem,
	"base": 1rem,
	"lg": 1.125rem,
	"xl": 1.25rem,
	"2xl": 1.5rem,
	"3xl": 1.75rem
);

.from-markdown {
	color: $gray-700;
	line-height: 1.7;
	letter-spacing: -0.011em;

	> * + * {
		margin-top: 0.75rem;
		margin-bottom: 0;
	}

	> :first-child {
		margin-top: 0;
	}

	> :last-child {
		margin-bottom: 0;
	}

	ul,
	ol {
		padding-left: 2rem;
	}

	ul {
		list-style-type: disc;
	}

	ol {
		list-style: decimal;
	}

	li {
		text-indent: 0.25rem;
		padding-top: 1px;
		padding-bottom: 1px;
	}

	li > ul, li > ol {
		padding-left: 1.5rem;
	}

	ul > li:first-child {
		margin-top: 3px;
	}

	ul > * + *,
	ol > * + * {
		margin-top: 2px;
	}

	> blockquote {
		padding: 0.75rem 1rem 0.75rem 1.25rem;
		font-size: $font-size-sm;
		font-weight: 500;
		border: 1px solid $gray-200;
		border-left: 3px solid $yellow;
		border-top-left-radius: 0.1rem;
		border-bottom-left-radius: 0.1rem;
		border-top-right-radius: 0.375rem;
		border-bottom-right-radius: 0.375rem;
		margin: 1.5rem 0;
	}

	blockquote p:last-child {
		margin-bottom: 0;
	}

	b, strong {
		color: $gray-800;
		font-weight: 600;
	}

	h1, h2, h3, h4, h5, h6 {
		color: $gray-900;
	}

	h2, h3, h4, h5, h6 {
		font-weight: 600;
	}

	h1 {
		font-size: map-get($font-sizes-mobile, '3xl');
		line-height: 1.5;
		letter-spacing: -0.021em;
		font-weight: 700;

		@include media-breakpoint-up(md) {
			font-size: map-get($font-sizes-desktop, '3xl');
			letter-spacing: -0.024em;
		}

		// for byline
		& + p {
			margin-top: 1.5rem;
			font-size: map-get($font-sizes-mobile, 'xl');
			letter-spacing: -0.014em;
			line-height: 1.4;

			@include media-breakpoint-up(md) {
				font-size: map-get($font-sizes-desktop, 'xl');
				letter-spacing: -0.0175em;
			}
		}
	}

	h2 {
		font-size: map-get($font-sizes-mobile, '2xl');
		line-height: 1.56;
		letter-spacing: -0.015em;
		margin-top: 4rem;

		@include media-breakpoint-up(md) {
			font-size: map-get($font-sizes-desktop, '2xl');
			letter-spacing: -0.0195em;
		}
	}

	h3 {
		font-size: map-get($font-sizes-mobile, 'xl');
		line-height: 1.56;
		letter-spacing: -0.014em;
		margin-top: 2.25rem;

		@include media-breakpoint-up(md) {
			font-size: map-get($font-sizes-desktop, 'xl');
			letter-spacing: -0.0175em;
		}
	}

	h4 {
		font-size: map-get($font-sizes-mobile, 'lg');
		line-height: 1.56;
		letter-spacing: -0.014em;
		margin-top: 2.5rem;
	}

	h5 {
		font-size: map-get($font-sizes-mobile, 'base');
		line-height: 1.5;
		letter-spacing: -0.011em;
		font-weight: 600;
		margin-top: 2rem;
	}

	h6 {
		font-size: map-get($font-sizes-mobile, 'sm');
		line-height: 1.35;
		font-weight: 600;
		text-transform: uppercase;
		margin-top: 1.5rem;
	}

	tr > td,
	tr > th {
		font-size: $font-size-sm;
		padding: 0.5rem;
	}

	th:empty {
		display: none;
	}

	.screenshot {
		border: 1px solid $gray-400;
		border-radius: 0.375rem;
		margin-top: 0.5rem;
	}

	.screenshot + em {
		text-align: center;
		display: block;
		margin-top: 0.5rem;
		margin-bottom: 2rem;
	}

	code:not(.hljs) {
		padding: 0 0.25rem;
		background: $light;
		border-radius: 0.125rem;
	}

	table {
		border-color: $gray-200;
	}

	table thead {
		background-color: $light;
	}

	.table-bordered,
	.table-bordered th,
	.table-bordered td {
		border-left: none;
		border-right: none;
		border-color: $gray-200;
	}

	.table-bordered thead th,
	.table-bordered thead td {
		border-bottom-width: 1px;
	}
}
